﻿using Koala.Pro.Common;
using Koala.Pro.Core;
using Koala.Pro.Core.Dto;
using Koala.Pro.Core.Models;
using Koala.Pro.Models;

namespace Koala.Pro.Services
{
    public interface IBlackIPService : IMyCrudService<BlackIPInfo, string, BlackIPPagedDto>, ITransientDependency, IDependency
    {
        Task<bool> AddUserAsync(int userID, string blackID);

        Task<List<UserInfo>> GetUsersByBlackIP(string id);

        Task<bool> RemoveUserAsync(int userID, string blackID);

        List<BlackIPInfo> FindByUser(int userId, AuthorizeType type);

        bool ValidateIPAccess(string ipAddress, int userId);
    }
}
